package com.ethink.warehouse.api.info;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 库存矫正明细 INFO实体
 *
 * @author default
 * @date 2022-11-17
 */
@Data
public class MateInventoryAdjustLogDetailInfo {

    @Schema(description ="主键")
    private Long id;

    @Schema(description ="矫正单号")
    private String orderNo;

    @Schema(description ="调整前批次库存ID")
    private Long beforeMateInventoryId;

    @Schema(description ="调整后批次库存ID")
    private Long afterMateInventoryId;

    @Schema(description ="匹配的采购批次")
    private String matchPurchaseCode;

    @Schema(description ="调整数量")
    private Integer adjustQty;

    @Schema(description ="调整生产批次")
    private String adjustProduceCode;

    @Schema(description ="成本单价")
    private BigDecimal adjustCostPrice;

    @Schema(description ="采购批次")
    private String adjustPurchaseCode;

    @Schema(description ="采购单号")
    private String adjustPurchaseOrderNo;

    @Schema(description ="采购详单号")
    private String adjustPurchaseDetailOrderNo;

    @Schema(description ="原产国")
    private String adjustCountryOfOrigin;

    @Schema(description ="商品生产日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date adjustProductDate;

    @Schema(description ="商品过期日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date adjustExpireDate;

    @Schema(description ="库0时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date adjustRkTime;

    @Schema(description ="数据删除标志(0-正常,1-删除)")
    private Integer isDeleted;

    @Schema(description ="数据创建时间戳")
    private Date createTime;

    @Schema(description ="数据更新时间戳")
    private Date updateTime;

    @Schema(description ="创建人")
    private String createUser;

    @Schema(description ="修改人")
    private String updateUser;

    @Schema(description ="备注信息")
    private String remark;

    @Schema(description ="商品SKU")
    private String mateSku;
    @Schema(description ="采购批次")
    private String purchaseCode;
    @Schema(description ="枚举 库存类型:1-正品(zp)|2-瑕疵(cc)")
    private Integer inventoryType;
    @Schema(description ="渠道")
    private String saleSubChannel;
    @Schema(description ="生产批次")
    private String produceCode;
    @Schema(description ="原产国")
    private String countryOfOrigin;
    @Schema(description ="商品生产日期")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date productDate;
    @Schema(description ="商品过期日期")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date expireDate;
    @Schema(description ="入库时间")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date rkTime;
    @Schema(description ="采购单号")
    private String purchaseOrderNo;
    @Schema(description ="采购详单号")
    private String purchaseDetailOrderNo;
    @Schema(description ="成本单价")
    private BigDecimal costPrice;

    @Schema(description ="商品SKU名称")
    private String mateSkuName;
    @Schema(description ="品牌名称")
    private String brandName;
    @Schema(description ="商品条码")
    private String internationCode;
    @Schema(description ="包装单位名称")
    private String unitName;
    @Schema(description ="商品规格")
    private String productSpecification;
}
